package com.tang.reggie.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tang.reggie.dto.DishDto;
import com.tang.reggie.dto.SetmealDto;
import com.tang.reggie.pojo.Setmeal;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

public interface SetmealService extends IService<Setmeal> {

    /**
     * 套餐添加
     * @param setmealDto
     */
    @Transactional
    void saveWithSetmealDish(SetmealDto setmealDto);

    /**
     * 分页查询
     * @param page
     * @param pageSize
     * @param name
     * @return
     */
    Page<SetmealDto> select(int page, int pageSize, String name);

    /**
     * 根据id进行查询
     * @param id
     * @return
     */
    SetmealDto selectById(Long id);

    /**
     * 修改
     * @param setmealDto
     */
    @Transactional
    void updateWithSetMealDto(SetmealDto setmealDto);

    /**
     * 删除
     * @param ids
     */
    @Transactional
    void delete(List<Long> ids);

    /**
     * 状态修改
     * @param status
     * @param ids
     */
    void updateByStatus(int status, List<Long> ids);

    List<Setmeal> findByCategory(Setmeal setmeal);

    List<DishDto> listDishs(Long id);
}
